Fix cross-bundle run_job_task refs pointing at non-existent nodes - #37
Fix cross-bundle run_job_task refs pointing at non-existent nodes#37matthewmoorcroft wants to merge 2 commits into
Conversation
Rewrite internal package-proxy URLs (pypi-proxy.dev.databricks.com) to pypi.org / files.pythonhosted.org so public CI resolves deps. Same pinned versions and hashes; matches main. Co-authored-by: Isaac <no-reply@databricks.com>
|
Closing as obsolete. The problem this targets (#29 — cross-bundle This PR's |
Closes #29
What
ExecutePipelineemitsrun_job_task.job_id = ${resources.jobs.X.id}, which only resolves whenXis a job in this bundle. In a multi-pipeline migration each ADF pipeline becomes its own bundle, so a reference to a sibling pipeline points at a node that doesn't exist here andbundle deployfails withno such node "resources.jobs.X".New
_rewrite_cross_bundle_run_job_refsruns inwrite_bundlebefore the YAML is written: it rewritesrun_job_taskrefs to out-of-bundle jobs into${var.X}and registersXin_cross_bundle_variables(which the existing_build_databricks_ymlloop already declares). The operator supplies the numeric job id at deploy via--var, as SETUP.md documents. Recurses intofor_each_taskbodies.Relationship to the lineage epic (#24)
This is the stopgap ("FLOWX-7") that #24 (ordered cross-pipeline deploy/run from control lineage) is designed to build on — #24 keeps this
${var.X}rewrite as the fallback for unresolved callees and layers an ordered orchestration bundle on top once #23'slineage.control_edgesexist. This fix makes multi-pipeline deploy work today; it does not conflict with or block #24.Scope
src/flowx/bundler/dab_writer.pyonly (the cross-bundle rewrite; the task-value dependency fix is a separate PR).Testing
make testfull unit suite green;test_bundler.py+test_bundle_invariants.pypass.This pull request and its description were written by Isaac.